Nuprl Definition : possible-world 11,40

PossibleWorld(D;w)
== FairFifo
== & ((ix:Id. vartype(i;xr M(i).ds(x))
== & (c (i:Id, a:Action(i). ((isnull(a)))  (valtype(i;ar M(i).da(kind(a))))
== & (c (l:IdLnk, tg:Id. (w.M(l,tg)) r M(source(l)).da(rcv(l,tg)))
== & (c (ix:Id. M(i).init(x,s(i;0).x))
== & (c (i:Id, t:.
== & (c ((isnull(a(i;t))))
== & (c  (((islocal(kind(a(i;t))))
== & (c  (( (M(i).pre(act(kind(a(i;t))),read-state(x.s(i;t).x))
== & (c  (( & ma-random(M(i);
== & (c  (( & ma-random(valtype(i;a(i;t));
== & (c  (( & ma-random(val(a(i;t));i;act(kind(a(i;t)));w-knum(w;i;kind(a(i;t));t))))
== & (c  & (x:Id.
== & (c  & (M(i).ef(kind(a(i;t)),x,read-state(x.s(i;t).x),val(a(i;t)),q.s(i;t+1).x(q - 1)))
== & (c  & (l:IdLnk.
== & (c  & (M(i).send(kind(a(i;t));l;read-state(x.s(i;t).x);val(a(i;t));withlnk(l;m(i;t));i))
== & (c  & (x:Id.
== & (c  & ((M(i).frame(kind(a(i;t)) affects x))  (r:. s(i;t).x(r + 1) = s(i;t+1).x(r)))
== & (c  & (l:IdLnk, tg:Id.
== & (c  & ((M(i).sframe(kind(a(i;t)) sends <l,tg>))  (w-tagged(tg;onlnk(l;m(i;t))) = []))))
== & (c ((ia:Id, t:.
== & (c ((t':
== & (c ((((t  t')
== & (c ((& ((((isnull(a(i;t')))) c (kind(a(i;t')) = locl(a)))
== & (c ((& ( (a declared in M(i))
== & (c ((& ( unsolvable M(i).pre(a,read-state(x.s(i;t').x)))))
== & (c & (i:Id, t:.
== & (c & (((isnull(a(i;t))))
== & (c & ( (x:Id.
== & (c & ( (M(i).aframe(kind(a(i;t)) affects x))  (r:. s(i;t).x(r + 1) = s(i;t+1).x(r))))
== & (c & (ix:Id, k:Knd. (M(i).rframe(k reads x))  w-machine-independent(w;i;k;x))
== & (c & (i:Id, t:.
== & (c & (((isnull(a(i;t))))
== & (c & ( (l:IdLnk.
== & (c & ( (M(i).bframe(kind(a(i;t)) sends on l))  (onlnk(l;m(i;t)) = []))))) 
latex



clarification:

possible-world{i:l}
possible-world(Dw)
== fair-fifo{i:l}
== fair-fifo(w)
== & ((i:Id, x:Id. w-vartype(wixr d-m(Di).ds(x))
== & (c (i:Id, a:w-action(wi).
== & (c ((w-isnull(wa)))  (w-valtype(wiar d-m(Di).da(w-kind(wa))))
== & (c (l:IdLnk, tg:Id. (w.M(l,tg)) r d-m(D; source(l)).da(rcv(l,tg)))
== & (c (i:Id, x:Id. d-m(Di).init(x,w-s(wi; 0; x)))
== & (c (i:Id, t:.
== & (c ((w-isnull(w; w-a(wit))))
== & (c  (((islocal(w-kind(w; w-a(wit))))
== & (c  (( (d-m(Di).pre(act(w-kind(w; w-a(wit))),read-state(x.w-s(witx)))
== & (c  (( & ma-random(d-m(Di);
== & (c  (( & ma-random(w-valtype(wi; w-a(wit));
== & (c  (( & ma-random(w-val(w; w-a(wit));
== & (c  (( & ma-random(i;act(w-kind(w; w-a(wit)));w-knum(w;i;w-kind(w; w-a(wit));t))))
== & (c  & (x:Id.
== & (c  & (d-m(Di).ef(w-kind(w; w-a(wit)),
== & (c  & (x,
== & (c  & (read-state(x.w-s(witx)),w-val(w; w-a(wit)),q.w-s(wi; (t+1); x)(q - 1)))
== & (c  & (l:IdLnk.
== & (c  & (d-m(Di).send(w-kind(w; w-a(wit));
== & (c  & (l;read-state(x.w-s(witx));w-val(w; w-a(wit));withlnk(l;w-m(wit));i))
== & (c  & (x:Id.
== & (c  & ((d-m(Di).frame(w-kind(w; w-a(wit)) affects x))
== & (c  & ( (r:. w-s(witx)(r + 1) = w-s(wi; (t+1); x)(r w-vartype(wix)))
== & (c  & (l:IdLnk, tg:Id.
== & (c  & ((d-m(Di).sframe(w-kind(w; w-a(wit)) sends <l,tg>))
== & (c  & ( (w-tagged(tg;onlnk(l;w-m(wit))) = []  (w-Msg(w) List)))))
== & (c ((i:Id, a:Id, t:.
== & (c ((t':
== & (c ((((t  t')
== & (c ((& ((((w-isnull(w; w-a(wit')))) c (w-kind(w; w-a(wit')) = locl(a Knd))
== & (c ((& ( (a declared in d-m(Di))
== & (c ((& ( unsolvable d-m(Di).pre(a,read-state(x.w-s(wit'x))))))
== & (c & (i:Id, t:.
== & (c & (((w-isnull(w; w-a(wit))))
== & (c & ( (x:Id.
== & (c & ( (d-m(Di).aframe(w-kind(w; w-a(wit)) affects x))
== & (c & (  (r:. w-s(witx)(r + 1) = w-s(wi; (t+1); x)(r w-vartype(wix))))
== & (c & (i:Id, x:Id, k:Knd. (d-m(Di).rframe(k reads x))  w-machine-independent(w;i;k;x))
== & (c & (i:Id, t:.
== & (c & (((w-isnull(w; w-a(wit))))
== & (c & ( (l:IdLnk.
== & (c & ( (d-m(Di).bframe(w-kind(w; w-a(wit)) sends on l))
== & (c & (  (onlnk(l;w-m(wit)) = []  (w-Msg(w) List)))))) 
latex


DefinitionsFairFifo, M.ds(x), Action(i), w.M, M.da(a), source(l), rcv(l,tg), M.init(x,v), islocal(k), M.pre(a,s), valtype(i;a), act(k), w-knum(w;i;k;t), M.ef(k,x,s,v,w), r - s, M.send(k;l;s;v;ms;i), val(a), withlnk(l;mss), M.frame(k affects x), M.sframe(k sends <l,tg>), w-tagged(tg;mss), x:AB(x), A  B, A c B, locl(a), P  Q, a declared in M, unsolvable M.pre(a,s), read-state(s), x.A(x), M.aframe(k affects x), , vartype(i;x), r + s, f(a), s(i;t).x, n+m, #$n, P & Q, Knd, M.rframe(k reads x), w-machine-independent(w;i;k;x), Id, , b, isnull(a), x:AB(x), IdLnk, P  Q, A, M.bframe(k sends on l), M(i), kind(a), a(i;t), s = t, type List, Msg, onlnk(l;mss), m(i;t), []
FDL editor aliasesp-world

origin